#define _CRT_SECURE_NO_WARNINGS 1

#include <iostream>
using namespace std;


class Date
{
public:


    Date(int year, int month, int day)
        :_year(year)
        , _month(month)
        , _day(day)
    {


    }


    void print()
    {
        printf("%d", _year);
        if (_month < 10)
        {
            printf("-0%d", _month);
        }
        else
        {
            printf("-%d", _month);
        }
        if (_day < 10)
        {
            printf("-0%d", _day);
        }
        else
        {
            printf("-%d", _day);
        }
        cout << endl;
    }


    int GetYearday(int year)
    {
        if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
        {
            return 366;
        }


        else
        {
            return 365;
        }


    }


    int GetMonthday(int year, int month)
    {
        int Monthday[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };


        if (month == 2)
        {
            if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
            {
                return Monthday[month] + 1;
            }


            else
            {
                return Monthday[month];
            }



        }


        return Monthday[month];
    }


    int GetDay()
    {
        int nums = 0;


        for (int i = 1; i < _month; i++)
        {
            nums += GetMonthday(_year, i);
        }


        return nums + _day;


    }


    int operator-(Date& d1)
    {
        int nums1 = 0;
        for (int i = 1; i < _month; i++)
        {
            nums1 += GetMonthday(_year, i);
        }
        nums1 += _day;


        int nums2 = 0;
        for (int i = 1; i < d1._month; i++)
        {
            nums2 += GetMonthday(d1._year, i);
        }
        nums2 += d1._day;


        int YearDay = 0;
        for (int i = _year; i > d1._year; i--)
        {
            YearDay += GetYearday(i);
        }


        return YearDay + nums1 - nums2;


    }


    void operator=(Date& d1)
    {
        _year = d1._year;
        _month = d1._month;
        _day = d1._day;

    }


    friend istream& operator >>(istream& in, Date& d1);


private:
    int _year;
    int _month;
    int _day;
};


istream& operator >>(istream& in, Date& d1)
{

    in >> d1._year >> d1._month >> d1._day;
    int n = 0;
    in >> n;


    while (n + d1._day > d1.GetMonthday(d1._year, d1._month))
    {

        n = n - d1.GetMonthday(d1._year, d1._month) + d1._day;
        d1._month++;
        d1._day = 0;

        if (d1._month > 12)
        {
            d1._year++;
            d1._month = 1;
        }

    }
    d1._day = n;

    return in;
}
int main()
{
    int n = 0;
    cin >> n;
    Date d1(0, 1, 0);
    Date d2(0, 1, 0);

    for (int i = 0; i < n; i++)
    {
        cin >> d1;
        d1.print();
        d1 = d2;
    }


}